﻿<?xml version="1.0"?>
<xs:schema xmlns:ser="http://schemas.microsoft.com/2003/10/Serialization/"
           attributeFormDefault="qualified"
           elementFormDefault="qualified"
           targetNamespace="http://schemas.microsoft.com/2003/10/Serialization/"
           xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="anyType"
                nillable="true"
                type="xs:anyType"/>
    <xs:element name="anyURI"
                nillable="true"
                type="xs:anyURI"/>
    <xs:element name="base64Binary"
                nillable="true"
                type="xs:base64Binary"/>
    <xs:element name="boolean"
                nillable="true"
                type="xs:boolean"/>
    <xs:element name="byte"
                nillable="true"
                type="xs:byte"/>
    <xs:element name="dateTime"
                nillable="true"
                type="xs:dateTime"/>
    <xs:element name="decimal"
                nillable="true"
                type="xs:decimal"/>
    <xs:element name="double"
                nillable="true"
                type="xs:double"/>
    <xs:element name="float"
                nillable="true"
                type="xs:float"/>
    <xs:element name="int"
                nillable="true"
                type="xs:int"/>
    <xs:element name="long"
                nillable="true"
                type="xs:long"/>
    <xs:element name="QName"
                nillable="true"
                type="xs:QName"/>
    <xs:element name="short"
                nillable="true"
                type="xs:short"/>
    <xs:element name="string"
                nillable="true"
                type="xs:string"/>
    <xs:element name="unsignedByte"
                nillable="true"
                type="xs:unsignedByte"/>
    <xs:element name="unsignedInt"
                nillable="true"
                type="xs:unsignedInt"/>
    <xs:element name="unsignedLong"
                nillable="true"
                type="xs:unsignedLong"/>
    <xs:element name="unsignedShort"
                nillable="true"
                type="xs:unsignedShort"/>
    <xs:element name="char"
                nillable="true"
                type="ser:char"/>
    <xs:simpleType name="char">
        <xs:restriction base="xs:int"/>
    </xs:simpleType>
    <xs:element name="duration"
                nillable="true"
                type="ser:duration"/>
    <xs:simpleType name="duration">
        <xs:restriction base="xs:duration">
            <xs:pattern value="\-?P(\d*D)?(T(\d*H)?(\d*M)?(\d*(\.\d*)?S)?)?"/>
            <xs:minInclusive value="-P10675199DT2H48M5.4775808S"/>
            <xs:maxInclusive value="P10675199DT2H48M5.4775807S"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:element name="guid"
                nillable="true"
                type="ser:guid"/>
    <xs:simpleType name="guid">
        <xs:restriction base="xs:string">
            <xs:pattern value="[\da-fA-F]{8}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{12}"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:attribute name="FactoryType"
                  type="xs:QName"/>
    <xs:attribute name="Id"
                  type="xs:ID"/>
    <xs:attribute name="Ref"
                  type="xs:IDREF"/>
</xs:schema>